草庐IT

HA 模式

全部标签

c# - 软件渲染模式——WPF

我有一个WPF用户控件,我需要在RenderMode.SoftwareOnly中强制呈现。由于我使用的是.NET3.5,因此我必须执行以下操作:varhwndSource=PresentationSource.FromVisual(this)asHwndSource;if(hwndSource!=null){hwndSource.CompositionTarget.RenderMode=RenderMode.SoftwareOnly;}但这不适用于我的应用程序,WPF程序在少数机器上崩溃,在注册表级别关闭硬件加速似乎可以解决问题。以上代码写在窗口的Loaded事件中。如果我是正确的,L

c# - 正则表达式 - 在字符之前匹配模式

我目前正在用C#构建一个玩具组装器(正在阅读TheElementsOfComputingSystems书)。我需要匹配一个非常简单的模式,我认为这是学习一些正则表达式的好时机,但我正在努力!在下面的例子中,我只想匹配'='之前的字母M=AD=MMD=AA=D广告=MAMD=A我想出了以下内容:([A-Z]{1,3})=但是这也匹配我不想要的'='。我也试过:([A-Z^\=]{1,3})=但我仍然遇到同样的问题-它也匹配'='符号。我正在使用thissite测试我的正则表达式。任何帮助将不胜感激。提前谢谢你。 最佳答案 您想要的是所

c# - 如何以任意序列搜索模式?

正则表达式仅适用于字符串,但如果该功能不仅可以扩展到字符,还可以扩展到对象,甚至进一步扩展到函数,那会怎样呢?假设我们的对象是整数,它们可以按任何顺序排列:12345678910111213你要解决的任务是像这样找到素数对(或类似的模式搜索任务):{prime}{anyNumber}{prime}所以答案是这样的:(3,4,5)(5,6,7)(11,12,13)或者更复杂的素数链示例:{prime}({anyNumber}{prime})+回答:(3,(4,5),(6,7))(11,(12,13))很像Regex的工作方式,对吧?发生的事情是你定义了一些名为isPrime(x)的函数,

c# - 流行的 "volatile polled flag"模式坏了吗?

假设我想使用一个bool状态标志来实现线程间的协作取消。(我意识到应该最好使用CancellationTokenSource代替;这不是这个问题的重点。)privatevolatilebool_stopping;publicvoidStart(){varthread=newThread(()=>{while(!_stopping){//Docomputationlastingaround10seconds.}});thread.Start();}publicvoidStop(){_stopping=true;}问题:如果我在另一个线程上在0秒调用Start()并在3秒调用Stop(),

c# - 使用 Entity Framework 持久化状态模式

我目前正在使用MVC3开发一个项目。我已经分离了我的关注点,所以有诸如核心、存储库、UI、服务等项目。我已经实现了存储库、UnitOfWork和最重要的状态模式。我正在使用EntityFramework4.3来保存我的数据,但我遇到了一个相当烦人的情况,涉及到当前状态的持久化。以下是一些类示例:publicclassRequest{publicintRequestId{get;set;}publicStateCurrentState{get;set;}}publicabstractclassState{[Key]publicstringName{get;set;}publicvirtu

c# - EntityFramework 核心单元测试 - SQLite 内存模式与 InMemory 提供程序

我正在为使用EntityFrameworkCore并根据docs的项目编写单元测试。我可以使用SQLite内存模式或TheInMemoryprovider来近似数据库上下文。文档指出SQLite内存模式的行为类似于关系数据库,InMemory提供程序的行为并不总是像关系数据库。据我所知,SQLite模式听起来更好,因为它的行为类似于关系数据库,而InMemory提供程序则不然,但我想还有其他方面需要考虑,否则没有人会使用InMemory提供程序听起来更糟。在选择使用哪种工具之前,我应该考虑每种方法的其他优缺点吗? 最佳答案 如果您的

c# - WP7 如何在设备上调试飞行模式?

有没有办法在设备上调试飞行模式?我尝试在设备设置中打开飞行模式并禁用计算机上的互联网连接,但NetworkInterface.GetIsNetworkAvailable()仍然返回true。我做错了什么吗? 最佳答案 注意officialdoc底部的评论:ThisAPIwillalwaysreturntrueontheWindowsPhone7emulator.Testingthereforerequiresafacade,mockorconditionalchunkofcode.我刚刚在实际设备上对此进行了测试,确实,它返回了一个

c# - 工厂方法模式和抽象工厂模式如何选择

我知道以前有人问过类似的问题。在过去的几天里,我已经阅读了很多关于此的内容,我想我现在可以理解设计和代码流方面的差异。令我困扰的是,这两种模式似乎都可以解决同一组问题,而没有真正的理由选择一个或另一个。当我试图自己解决这个问题时,我尝试实现一个小例子(从我在“HeadFirst:Designpatterns”一书中找到的那个开始)。在这个例子中,我尝试两次解决同一个问题:一次只使用“工厂方法模式”,另一次使用“抽象工厂模式”。我会向您展示代码,然后我会提出一些意见和问题。通用接口(interface)和类publicinterfaceIDough{}publicinterfaceISa

c# - 试图理解事件聚合器模式

我正在尝试以一种简单的方式实现事件聚合器模式以逐步学习它。但是我没有找到任何书籍或不错的视频教程来谈论它的实现。我刚刚发现了一些不错的文章,例如http://weblogs.asp.net/rashid/archive/2009/03/05/use-event-aggregator-to-make-your-application-more-extensible.aspx和http://martinfowler.com/eaaDev/EventAggregator.html第一篇文章太大,无法让我理解模式,第二篇文章未完成:)。顺便说一句,我创建了我的类(class):publiccl

c# - 检查两个字符串是否共享相同的重复字符模式

是否有一个有效的正则表达式来断言两个字符串共享相同的重复字符模式。("tree","loaa")=>true("matter","essare")=>false("paper","mime")=>false("acquaintance","mlswmodqmdlp")=>true("tree","aoaa")=>false事件如果不是通过正则表达式,我正在寻找最有效的方式来执行任务 最佳答案 最简单的方法可能是同时手动遍历两个字符串并在您这样做时建立一个字典(匹配相应的字符):if(input1.Length!=input2.Len